#!/usr/bin/env python 
# -*- coding:utf-8 -*-

import logging
import logging.handlers
import datetime

from utils.log import log


class log_test(object):

    def __init__(self):
        logger = logging.getLogger('mylogger')  # 日志器的名称
        logger.setLevel(logging.DEBUG)  # DEBUG日志等级

        # 用于将日志记录发送到指定的目的位置（并支持日志文件按时间切割）
        rf_handler = logging.handlers.TimedRotatingFileHandler('../logs/application.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
        # 用于控制日志信息的最终输出格式
        rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))

        # # 用于将日志记录发送到指定的目的位置（无限增长）
        # f_handler = logging.FileHandler('../logs/error.log')
        # f_handler.setLevel(logging.ERROR)  # ERROR日志等级
        # # 用于控制日志信息的最终输出格式
        # f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(pathname)s[:%(lineno)d] - %(message)s"))

        # 日志输出到屏幕控制台
        sh_handler = logging.StreamHandler()
        sh_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(pathname)s[:%(lineno)d] - %(message)s"))

        # 添加控制器
        logger.addHandler(rf_handler)
        # logger.addHandler(f_handler)
        logger.addHandler(sh_handler)



    # def getLog(self):
    #     if not self.logger:
    #         self.__init__()
    #     return self.logger


if __name__ == '__main__':

    log1 = log.getLog()
    # log = log()

    """
        使用模块函数创建不同等级日志
    """
    log1.debug('debug message 1111')
    log1.info('info message 1111')
    log1.warning('warning message 1111')
    log1.error('error message 111')
    log1.critical('critical message 1111')

    log2 = log.getLog()
